package com.orangelife.service.propFeeCommInfo;

import java.util.List;
import java.util.Map;

import com.orangelife.exception.AppBizException;
import com.orangelife.service.propFeeCommInfo.model.PropFeeCommInfoDto;

/*****************************************************************
 * Copyright(C) ORANGELIFE Corporation 2015. All Rights Reserved.
 *****************************************************************/
/*
 * ============================================================== 功能名
 * PropFeeCommInfo类的 service层的增删改查
 * 
 * @author @author
 * 
 * @version 1.1.0
 * 
 * @date 2016-07-14 11:26:47
 * ==============================================================
 */
public interface IPropFeeCommInfoService {

	/**
	 * 用途 添加propFeeCommInfo（橙子生活）
	 * 
	 * @author
	 * @date创建时间 2016-07-14 11:26:47
	 * @param propFeeCommInfo
	 * @return
	 * @throws AppBizException
	 */
	public int addPropFeeCommInfo(PropFeeCommInfoDto propFeeCommInfo)
			throws AppBizException;

	/****
	 * 
	 * @param propFeeCommInfos
	 * @return
	 * @throws AppBizException
	 */
	public int addPropFeeCommInfo(List<PropFeeCommInfoDto> propFeeCommInfos)
			throws AppBizException;

	/**
	 * 用途 修改propFeeCommInfo（橙子生活）
	 * 
	 * @author
	 * @date创建时间 2016-07-14 11:26:47
	 * @param propFeeCommInfo
	 * @return
	 * @throws AppBizException
	 */

	public int editPropFeeCommInfo(PropFeeCommInfoDto propFeeCommInfo)
			throws AppBizException;

	/**
	 * 用途 单个查询 （橙子生活）
	 * 
	 * @author
	 * @date创建时间 2016-07-14 11:26:47
	 * @param propFeeCommInfoID
	 * @return
	 * @throws AppBizException
	 */

	public PropFeeCommInfoDto findPropFeeCommInfoByID(String propFeeCommInfoID)
			throws AppBizException;

	/**
	 * 用途 逻辑删除（橙子生活）
	 * 
	 * @author
	 * @date创建时间 2016-07-14 11:26:47
	 * @param propFeeCommInfoID
	 * @return
	 * @throws AppBizException
	 */
	public int deletePropFeeCommInfoByLogic(String propFeeCommInfoID)
			throws AppBizException;

	/**
	 * 用途 查询列表 （橙子生活）
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * @param search
	 *            搜索内容
	 * @param tsCreate
	 *            创建时间
	 * @param pageNo
	 *            页码
	 * @param pageSize
	 *            页面大小
	 * @return
	 * @throws AppBizExceptionception
	 */
	public List<Map<String, Object>> findPropFeeCommInfoByPage(String type,
			String commID, String tsCreate, String search, int pageNo,
			int pageSize) throws AppBizException;

	/**
	 * 用途 查询列表（返回对对象）（橙子生活）
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * @param servletRequest
	 * @param search
	 *            搜索内容
	 * @param tsCreate
	 *            创建时间
	 * @param pageNo
	 *            页码
	 * @param pageSize
	 *            页面大小
	 * @return
	 * @throws AppBizException
	 */
	public List<PropFeeCommInfoDto> getPropFeeCommInfoByPage(String tsCreate,
			String search, int pageNo, int pageSize) throws AppBizException;

	/**
	 * 用途 根据一张表内的所有ID查询propFeeCommInfo（橙子生活）(返回Map<String, Object>)
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * @param infoID
	 *            (非必填字段)
	 * 
	 * @param commID
	 *            (非必填字段)
	 * @return
	 * @throws AppBizException
	 */

	public List<Map<String, Object>> selectPropFeeCommInfoByRelevantID(
			String infoID, String commID) throws AppBizException;

	/**
	 * 用途 根据一张表内的所有ID查询propFeeCommInfo（橙子生活）(返回对象)
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * @param infoID
	 *            (非必填字段)
	 * 
	 * @param commID
	 *            (非必填字段)
	 * @return
	 * @throws AppBizException
	 */

	public List<PropFeeCommInfoDto> findPropFeeCommInfoByRelevantID(
			String infoID, String commID, String code, String name, String val,
			String type) throws AppBizException;

	/**
	 * 用途 批量查询propFeeCommInfo（橙子生活）(返回对象)
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * 
	 * @return
	 * @throws AppBizException
	 */

	public List<PropFeeCommInfoDto> bauthfindPropFeeCommInfo(
			List<String> propFeeCommInfoIDs) throws AppBizException;

	/**
	 * 用途 批量查询propFeeCommInfo（橙子生活）(返回Map)
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * 
	 * @return
	 * @throws AppBizException
	 */

	public List<Map<String, Object>> bauthfindPropFeeCommInfoByMap(
			Map<String, Object> propFeeCommInfo) throws AppBizException;

	/**
	 * 用途 清除
	 * 
	 * @author
	 * @date 创建时间 2016-07-14 11:26:47
	 * 
	 * @return
	 * @throws AppBizException
	 */

	public void clearCache() throws AppBizException;

	/**
	 * 用途 查询列表 （橙子生活）
	 * 
	 * @author zhr
	 * @date 创建时间 2016-07-06 17:13:39
	 * @param search
	 *            搜索内容
	 * @param tsCreate
	 *            创建时间
	 * @param pageNo
	 *            页码
	 * @param pageSize
	 *            页面大小
	 * @return
	 * @throws AppBizExceptionception
	 */
	public List<Map<String, Object>> findPropFeeCommInfo(Map<String, Object> map)
			throws AppBizException;

	/**
	 * 用途 获取该小区配置信息
	 * 
	 * @author zhr
	 * @date 创建时间 2016-07-06 17:13:39
	 * @param commID
	 * 
	 * @return
	 * @throws AppBizExceptionception
	 */
	public Map<String, Map<String, Object>> findPropFeeCommInfo(String commID)
			throws AppBizException;

	/**
	 * 用途 获取该小区某个配置信息
	 * 
	 * @author zhr
	 * @date 创建时间 2016-07-06 17:13:39
	 * @param commID
	 * 
	 * @return
	 * @throws AppBizExceptionception
	 */
	public String findValByCode(String commID, String code)
			throws AppBizException;

	/**
	 * 用途 获取该小区当前生成日期和下期生成日期
	 * 
	 * @author zhr
	 * @date 创建时间 2016-07-06 17:13:39
	 * @param commID
	 * 
	 * @return
	 * @throws AppBizExceptionception
	 */
	public Map<String, String> findLastDate(String commID)
			throws AppBizException;

	/****
	 * 同步数据
	 * 
	 * @param commID
	 * @throws AppBizException
	 */
	public void synchrodata(String commID) throws AppBizException;


}